package com.huilian.iotbox.mqtt.server.base.dao;

import com.huilian.iotbox.data.dto.DisplayRackItemDto;
import com.huilian.iotbox.data.po.DisplayRackItem;
import com.huilian.iotbox.data.vo.DisplayRackItemVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface DisplayRackItemDao {
    DisplayRackItemVo findDisplayRackItemById(DisplayRackItemDto displayRackItemDto);

    int updateOneById(DisplayRackItemVo displayRackItemVo);

    List<DisplayRackItemVo> findDisplayRackItemByDeviceId(DisplayRackItemDto displayRackItemDto);

    DisplayRackItemVo findDisplayRackItemByHierarchyAndFreightLane(DisplayRackItemDto displayRackItemDto);

    List<DisplayRackItem> findAllDisplayRackItemByCondition(DisplayRackItem displayRackItemCondition);

    void insertToList(@Param("list") List<DisplayRackItem> addList);

    void updateToList(@Param("list") List<DisplayRackItem> updateList);

    void deleteByBatch(Long displayRackId, Map<Integer, Integer> map);

    int updateStatus(DisplayRackItemDto displayRackItemDto);

    int updateStock(DisplayRackItemDto displayRackItemDto);

    int numberOfFailures(DisplayRackItemDto displayRackItemDto);
}
